package com.bigfire.dtm.domain.user.vo;

import com.bigfire.dtm.shared.common.ValueObject;
import com.bigfire.dtm.shared.constant.Constants;
import com.bigfire.dtm.shared.enums.Gender;
import com.bigfire.dtm.shared.enums.UserState;
import lombok.Builder;
import lombok.Value;

/**
 * 用户信息值对象
 * @author Damon S.
 * @version v1.0.1
 * @date 2019年11月01日 11:22
 */
@Value
@Builder
public class UserInfoVO implements ValueObject {
    private Long        userId;
    private String      username;
    private String      password;
    private String      nickname;
    private Gender      gender;
    private String      email;
    private String      avatar;
    private UserState   state;
    private Long        tenantId;

    public static final UserInfoVO EMPTY =
            UserInfoVO.builder()
                    .userId(Constants.LONG_MINUS_ONE)
                    .username(Constants.STR_EMPTY)
                    .state(UserState.NA)
                    .build();
}
